package com.atguigu.cloud.config;

import feign.Logger;
import feign.Retryer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @auther zzyy
 * @create 2023-12-25 17:58
 */
@Configuration
public class FeignConfig {
    @Bean
    public Retryer myRetryer() {
        return Retryer.NEVER_RETRY; //Feign默认配置是不走重试策略的

        //最大请求次数为3(1+2)，初始间隔时间为100ms，重试间最大间隔时间为1s
        /**
         * long period 初始间间隔时间
         * long maxPeriod 最大重试间隔时间
         * int maxAttempts 最大重试次数
         */
        //初始重试时间是在 100 毫秒后，最大重试间隔时间是 1 秒重试一次，最多重试 3 次。
        // 3 = default + 2;
        //return new Retryer.Default(100,1,3);
    }

    /**
     * Logger 是 feign.Logger 抽象类。
     * @return
     */
    @Bean
    Logger.Level feignLoggerLevel() {
        return Logger.Level.FULL;
    }
}
